[INFO] cloning repository https://github.com/lachlansneff/wjs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lachlansneff/wjs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flachlansneff%2Fwjs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flachlansneff%2Fwjs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1e86b6e950ea87348c5463cab6a182b86bf71338
[INFO] checking lachlansneff/wjs against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flachlansneff%2Fwjs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lachlansneff/wjs
[INFO] finished tweaking git repo https://github.com/lachlansneff/wjs
[INFO] tweaked toml for git repo https://github.com/lachlansneff/wjs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lachlansneff/wjs on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lachlansneff/wjs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded swc_visit v0.2.4
[INFO] [stderr]   Downloaded swc_ecma_visit v0.31.0
[INFO] [stderr]   Downloaded swc_ecmascript v0.36.0
[INFO] [stderr]   Downloaded syn v1.0.65
[INFO] [stderr]   Downloaded pmutil v0.5.3
[INFO] [stderr]   Downloaded ast_node v0.7.3
[INFO] [stderr]   Downloaded darling_macro v0.10.2
[INFO] [stderr]   Downloaded string_cache_codegen v0.5.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.27
[INFO] [stderr]   Downloaded string_enum v0.3.1
[INFO] [stderr]   Downloaded swc_ecma_utils v0.36.0
[INFO] [stderr]   Downloaded ouroboros v0.9.3
[INFO] [stderr]   Downloaded swc_eq_ignore_macros v0.1.0
[INFO] [stderr]   Downloaded num-integer v0.1.44
[INFO] [stderr]   Downloaded darling v0.10.2
[INFO] [stderr]   Downloaded siphasher v0.3.5
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.10
[INFO] [stderr]   Downloaded is-macro v0.1.9
[INFO] [stderr]   Downloaded swc_macros_common v0.3.3
[INFO] [stderr]   Downloaded enum_kind v0.2.1
[INFO] [stderr]   Downloaded string_cache v0.8.1
[INFO] [stderr]   Downloaded strsim v0.9.3
[INFO] [stderr]   Downloaded swc_atoms v0.2.6
[INFO] [stderr]   Downloaded from_variant v0.1.3
[INFO] [stderr]   Downloaded ouroboros_macro v0.9.3
[INFO] [stderr]   Downloaded swc_ecma_ast v0.45.0
[INFO] [stderr]   Downloaded swc_visit_macros v0.2.3
[INFO] [stderr]   Downloaded serde_derive v1.0.126
[INFO] [stderr]   Downloaded darling_core v0.10.2
[INFO] [stderr]   Downloaded swc_common v0.10.20
[INFO] [stderr]   Downloaded serde v1.0.126
[INFO] [stderr]   Downloaded swc_ecma_parser v0.57.3
[INFO] [stderr]   Downloaded libc v0.2.95
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef
[INFO] running `Command { std: "docker" "start" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.65
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling siphasher v0.3.5
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]     Checking new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]     Checking phf_shared v0.8.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking owning_ref v0.4.1
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]     Checking quote v1.0.9
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.1
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling swc_atoms v0.2.6
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]     Checking wjs-derive v0.1.0 (/opt/rustwide/workdir/derive)
[INFO] [stderr]    Compiling pmutil v0.5.3
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling swc_macros_common v0.3.3
[INFO] [stderr]    Compiling swc_eq_ignore_macros v0.1.0
[INFO] [stderr]    Compiling is-macro v0.1.9
[INFO] [stderr]    Compiling ouroboros_macro v0.9.3
[INFO] [stderr]    Compiling swc_visit_macros v0.2.3
[INFO] [stderr]    Compiling from_variant v0.1.3
[INFO] [stderr]    Compiling string_enum v0.3.1
[INFO] [stderr]    Compiling enum_kind v0.2.1
[INFO] [stderr]     Checking ouroboros v0.9.3
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]     Checking swc_visit v0.2.4
[INFO] [stderr]    Compiling ast_node v0.7.3
[INFO] [stderr]     Checking string_cache v0.8.1
[INFO] [stderr]     Checking swc_common v0.10.20
[INFO] [stderr]     Checking swc_ecma_ast v0.45.0
[INFO] [stderr]     Checking swc_ecma_visit v0.31.0
[INFO] [stderr]     Checking swc_ecma_utils v0.36.0
[INFO] [stderr]     Checking swc_ecma_parser v0.57.3
[INFO] [stderr]     Checking swc_ecmascript v0.36.0
[INFO] [stderr]     Checking wjs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `FnDecl`, `Ident`, `Node`, `Script`, `VisitWith`, `Visit`, and `self`
[INFO] [stdout]  --> src/compiler.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...unction, Ident, Script, Stmt, FnDecl}, parser::{self, Parser, StringInput, Syntax}, visit::{self, Node, Visit, VisitWith}};
[INFO] [stdout]   |             ^^^^^  ^^^^^^        ^^^^^^                                                        ^^^^  ^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/gc.rs:6:88
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{cell::Cell, marker::PhantomData, mem::{self, MaybeUninit}, ops::Range, ptr::{self, NonNull, addr_of_mut}};
[INFO] [stdout]   |                                                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CheckTypeId`
[INFO] [stdout]   --> src/gc.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use type_id::{CompactTypeId, CheckTypeId};
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(ptr_metadata, new_uninit)]
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FnDecl`, `Ident`, `Node`, `Script`, `VisitWith`, `Visit`, and `self`
[INFO] [stdout]  --> src/compiler.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...unction, Ident, Script, Stmt, FnDecl}, parser::{self, Parser, StringInput, Syntax}, visit::{self, Node, Visit, VisitWith}};
[INFO] [stdout]   |             ^^^^^  ^^^^^^        ^^^^^^                                                        ^^^^  ^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/gc.rs:6:88
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{cell::Cell, marker::PhantomData, mem::{self, MaybeUninit}, ops::Range, ptr::{self, NonNull, addr_of_mut}};
[INFO] [stdout]   |                                                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(ptr_metadata, new_uninit)]
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> src/compiler.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn function(&mut self, func: &Function) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gc.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut new_page = Box::leak(new_page());
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/compiler.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Error(String);
[INFO] [stdout]   |            ----- ^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `function` is never used
[INFO] [stdout]   --> src/compiler.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Compiler {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn function(&mut self, func: &Function) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GcFlags` is never constructed
[INFO] [stdout]  --> src/gc/gc_ptr.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct GcFlags {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IncorrectGcType` is never constructed
[INFO] [stdout]   --> src/gc/gc_ptr.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct IncorrectGcType;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `untype` and `as_header_ptr` are never used
[INFO] [stdout]   --> src/gc/gc_ptr.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl<'gc, T> GcPtr<'gc, T> {
[INFO] [stdout]    | -------------------------- methods in this implementation
[INFO] [stdout] 62 |     pub fn untype(self) -> GcPtr<'gc, ()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn as_header_ptr(self) -> NonNull<GcHeader<'gc, ()>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_type` is never used
[INFO] [stdout]   --> src/gc/gc_ptr.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl<'gc> GcPtr<'gc, ()> {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn try_type<T: CompactTypeId>(self) -> Result<GcPtr<'gc, T>, IncorrectGcType> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `trace` is never used
[INFO] [stdout]  --> src/gc/trace.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub unsafe trait Trace {
[INFO] [stdout]   |                  ----- method in this trait
[INFO] [stdout] 4 |     unsafe fn trace(&mut self);
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CheckTypeId` is never used
[INFO] [stdout]  --> src/gc/type_id.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait CheckTypeId<const N: u32> {}
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMI_BITS` is never used
[INFO] [stdout]   --> src/value.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const SMI_BITS: u8 = cfg_bits! {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMI_MIN` is never used
[INFO] [stdout]   --> src/value.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const SMI_MIN: i32 = (((-1i32) as u32) << (SMI_BITS - 1)) as i32;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMI_MAX` is never used
[INFO] [stdout]   --> src/value.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const SMI_MAX: i32 = -(SMI_MIN + 1);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMI_SHIFT` is never used
[INFO] [stdout]   --> src/value.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const SMI_SHIFT: u8 = cfg_bits! {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsValue` is never constructed
[INFO] [stdout]   --> src/value.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct JsValue<'gc>(usize, PhantomData<&'gc mut ()>);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_smi`, `is_pointer`, `expect_smi`, and `expect_gc_ptr` are never used
[INFO] [stdout]   --> src/value.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<'gc> JsValue<'gc> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 38 |     #[inline]
[INFO] [stdout] 39 |     pub fn is_smi(self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_pointer(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn expect_smi(self) -> Option<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn expect_gc_ptr(self) -> Option<GcPtr<'gc, ()>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InvalidSmi` is never constructed
[INFO] [stdout]   --> src/value.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct InvalidSmi;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]   --> src/vm.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct VM {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] 14 |     inner: VMInner,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test` is never read
[INFO] [stdout]   --> src/vm.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Roots<'gc> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 18 |     test: GcPtr<'gc, f64>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn page_iter(&self) -> PageIter {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn page_iter(&self) -> PageIter<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:98:20
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn gc_iter(&mut self) -> GcIter {
[INFO] [stdout]    |                    ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn gc_iter(&mut self) -> GcIter<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> src/compiler.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn function(&mut self, func: &Function) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gc.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut new_page = Box::leak(new_page());
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/compiler.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Error(String);
[INFO] [stdout]   |            ----- ^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `function` is never used
[INFO] [stdout]   --> src/compiler.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Compiler {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn function(&mut self, func: &Function) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GcFlags` is never constructed
[INFO] [stdout]  --> src/gc/gc_ptr.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct GcFlags {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/gc/gc_ptr.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |         struct Foo<'gc>(Option<GcPtr<'gc, Self>>);
[INFO] [stdout]     |                ---      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `trace` is never used
[INFO] [stdout]  --> src/gc/trace.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub unsafe trait Trace {
[INFO] [stdout]   |                  ----- method in this trait
[INFO] [stdout] 4 |     unsafe fn trace(&mut self);
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CheckTypeId` is never used
[INFO] [stdout]  --> src/gc/type_id.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait CheckTypeId<const N: u32> {}
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]   --> src/vm.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct VM {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] 14 |     inner: VMInner,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test` is never read
[INFO] [stdout]   --> src/vm.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Roots<'gc> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 18 |     test: GcPtr<'gc, f64>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn page_iter(&self) -> PageIter {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn page_iter(&self) -> PageIter<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gc.rs:98:20
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn gc_iter(&mut self) -> GcIter {
[INFO] [stdout]    |                    ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn gc_iter(&mut self) -> GcIter<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gc/gc_ptr.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn test_gc_drop() {
[INFO] [stdout]     |     ----------------- move the `impl` block outside of this function `test_gc_drop`
[INFO] [stdout] 178 |         #[derive(CompactTypeId)]
[INFO] [stdout]     |                  -^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `CheckTypeId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `CompactTypeId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `CompactTypeId` may come from an old version of the `wjs_derive` crate, try updating your dependency with `cargo update -p wjs_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `CompactTypeId` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gc/gc_ptr.rs:203:25
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn test_nested_gc_ptr() {
[INFO] [stdout]     |     ----------------------- move the `impl` block outside of this function `test_nested_gc_ptr`
[INFO] [stdout] 203 |         #[derive(Trace, CompactTypeId)]
[INFO] [stdout]     |                         -^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `CheckTypeId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `CompactTypeId` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `CompactTypeId` may come from an old version of the `wjs_derive` crate, try updating your dependency with `cargo update -p wjs_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the derive macro `CompactTypeId` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/gc/gc_ptr.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         drop(b);
[INFO] [stdout]     |         ^^^^^-^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `GcPtr<'_, gc_ptr::tests::test_nested_gc_ptr::Foo<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 210 -         drop(b);
[INFO] [stdout] 210 +         let _ = b;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.18s
[INFO] running `Command { std: "docker" "inspect" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef", kill_on_drop: false }`
[INFO] [stdout] f2b666f4a99308089f19d79dee82e6656b51d5d15c7e1a94bc6cea5bf90102ef
